Camlp4 is a software system for writing extensible parsers
for programming languages. It provides a set of OCaml
libraries that are used to define grammars as well as
loadable syntax extensions of such grammars. Camlp4 stands
for Caml Preprocessor and Pretty-Printer and one of its most
important applications is the definition of domain-specific
extensions of the syntax of OCaml.
